 package com.education.platform.api.service;

 import com.education.platform.api.service.entity.LoginSuccessDTO;
 import com.education.platform.api.vo.request.LoginCompleteRequestVO;
 import com.education.platform.api.vo.request.LoginThirdPartyRequestVO;
 import com.education.platform.dao.entity.UserBaseDO;

 /**
 * describe: 登录service
 * @author : tomato
 * @date: 2020-06-03 09:30:54.007
 **/
 public interface LoginService{

     /**
      * 用户手机号验证码登陆
      *
      * @param phone 用户名
      * @param code 验证码
      * @param
      * @return 登陆成功信息
      */
     LoginSuccessDTO login(String phone,String code);

     /**
      * 用户id登录
      * @param userId
      * @return
      */
     LoginSuccessDTO login(Integer userId);
     /**
      * 第三方认证绑定登录
      * @param loginRequestVO
      * @return
      */
     LoginSuccessDTO login(LoginThirdPartyRequestVO loginRequestVO);
     /**
      * 退出登录
      * @param
      * @return
      */
     void logout();
     /**
      * 完善注册登录
      * @param
      * @param
      * @return
      */
     LoginSuccessDTO complete(LoginCompleteRequestVO completeRequestVO);

     /**
      *
      * @param user
      * @return
      */
     LoginSuccessDTO buildLoginSuccess( UserBaseDO user);

     /**
      * 绑定手机号
      * @param phone
      * @param code
      * @return
      */
     boolean bindingPhone(String phone,String code);

     /**
      * 生成邀请码
      * @param userId
      * @return
      */
     String saveInviteCode(Integer userId);

 }
